﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace XChipTool.Enties
{
 public   class SettingTips
    {
        /// <summary>
        /// 序号
        /// </summary>
        public string SettingNo { get; set; }
        /// <summary>
        /// 提示
        /// </summary>
        public string Tips { get; set; }

        /// <summary>
        /// 存放指示
        /// </summary>
        public string Mode { get; set; }
        /// <summary>
        /// 存在指示标志
        /// </summary>
        public string Tag { get; set; }
        /// <summary>
        /// 针对切换制式
        /// </summary>
        //public string SwitchingNo { get; set; }

        /// <summary>
        /// 模式
        /// </summary>
        public int patternNo { get; set; }
        /// <summary>
        /// 制式
        /// </summary>
        public int formatNo { get; set; }

        /// <summary>
        /// 匹配编号，我用来方便匹配的编号 --by shaoyidong 20210125
        /// </summary>
        public int MatchNo
        {
            get
            {
                switch (Tips)
                {
                    case "1080p_ahd_ntsc":
                        return 0;
                    case "1080p_ahd_pal":
                        return 1;
                    case "1080p_chd_ntsc":
                        return 2;
                    case "1080p_chd_pal":
                        return 3;
                    case "1080p_thd_ntsc":
                        return 4;
                    case "1080p_thd_pal":
                        return 5;
                    case "720p_ahd_ntsc":
                        return 6;
                    case "720p_ahd_pal":
                        return 7;
                    case "720p_chd_ntsc":
                        return 8;
                    case "720p_chd_pal":
                        return 9;
                    case "720p_thd_ntsc":
                        return 10;
                    case "720p_thd_pal":
                        return 11;
                    case "cvbs_ntsc":
                        return 12;
                    case "cvbs_pal":
                        return 13;
                    case "scale720p_ahd_ntsc":
                        return 14;
                    case "scale720p_ahd_pal":
                        return 15;
                    case "scale720p_chd_ntsc":
                        return 16;
                    case "scale720p_chd_pal":
                        return 17;
                    case "scale720p_thd_ntsc":
                        return 18;
                    case "scale720p_thd_pal":
                        return 19;
                    default:
                        return -1;
                }

            }
            set { MatchNo = value; }
        }
        public List<string>  MatchName
        {//cvbs忽略
            get
            {
                switch (Tips)
                {
                    case "AHD1080P30":
                        return new List<string> { "AHD1080p_ntsc30fps"};
                    case "AHD1080P25":
                        return new List<string> { "AHD1080p_pal25fps" };
                    case "CHD1080P30":
                        return new List<string> { "CHD1080p_ntsc30fps" };
                    case "CHD1080P25":
                        return new List<string> { "CHD1080p_pal25fps" };
                    case "THD1080P30":
                        return new List<string> { "THD1080p_ntsc30fps" };
                    case "THD1080P25":
                        return new List<string> { "THD1080p_pal25fps" };
                    case "THD1080P15":
                        return new List<string> { "THD1080p_pal15fps" };
                    case "AHD720P30":
                        return new List<string> { "AHD720p_ntsc30fps" };
                    case "AHD720P25":
                        return new List<string> { "AHD720p_pal25fps" };
                    case "CHD720P30":
                        return new List<string> { "CHD720p_ntsc30fps" };
                    case "CHD720P25":
                        return new List<string> { "CHD720p_pal25fps" };
                    case "THD720P30":
                        return new List<string> { "THD720p_ntsc30fps" };
                    case "THD720P25":
                        return new List<string> { "THD720p_pal25fps" };
                    case "CVBS960H60":
                        return new List<string> { "CVBS960h_ntsc60fps" };
                    case "CVBS960H50":
                        return new List<string> { "CVBS960h_pal50fps" };
                    case "CVBS N":
                        return new List<string> { "CVBS960h_ntsc60fps" };
                    case "CVBS P":
                        return new List<string> { "CVBS960h_pal50fps" };
                    case "CVBS720H60":
                        return new List<string> { "CVBS720h_ntsc60fps" };
                    case "CVBS720H50":
                        return new List<string> { "CVBS720h_pal50fps" };
                    case "CVBS480H60":
                        return new List<string> { "CVBS480h_ntsc60fps" };
                    case "CVBS480H50":
                        return new List<string> { "CVBS480h_pal50fps" };
                    case "AHD5M12":
                        return new List<string> { "AHD5M_N12fps" };
                    case "AHD5M20":
                        return new List<string> { "AHD5M_N20fps" };
                    case "THD5M12":
                        return new List<string> { "THD5M_N12fps" };
                    case "THD5M20":
                        return new List<string> { "THD5M_N20fps" };
                    case "AHD4M30":
                        return new List<string> { "AHD4M_ntsc30fps" };
                    case "AHD4M25":
                        return new List<string> { "AHD4M_pal25fps" };
                    case "THD4M30":
                        return new List<string> { "THD4M_ntsc30fps" };
                    case "THD4M25":
                        return new List<string> { "THD4M_pal25fps" };
                    case "CHD4M30":
                        return new List<string> { "CHD4M_ntsc30fps" };
                    case "CHD4M25":
                        return new List<string> { "CHD4M_pal25fps" };
                    case "CHD5M20":
                        return new List<string> { "CHD5M_N20fps" };
                    default:
                        return new List<string>();
                }

            }
            set { MatchName= value; }
        }

        public string filePath { get; set; }

        public List<TreeListValue> data { get; set; }

        public List<TreeListValue> comData { get; set; }
    }
}
